package com.yp.lession.redisqf211.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @author: COS
 * @time: 2022/3/25 14:15
 * @description:
 */
@Configuration
@EnableSwagger2//启用swagger 生成api 文件
public class SwaggerConfig {

    @Bean
    public Docket createDocket() {
        ApiInfo cos = new ApiInfoBuilder() //创建api接口文档信息对象
                .title("OA管理系统") //设置文档 标题 一般是项目的名称
                .version("V0.1.5") //版本号
                .contact(new Contact("cos", "http://www.baidu.com", "123905847@qq.com"))//作者 作者网站/公司完整 作者/公司联系邮箱
                .build();
        //创建
        return new Docket(DocumentationType.SWAGGER_2)   //应用那种风格来创建文档
                .apiInfo(cos)
                .select() //选择器
                .apis( //api生成策略的选择,那个包里面的方法需要生成为api借口文档
                        RequestHandlerSelectors.  //设置controller下方法需要生成接口文档
                                basePackage("com.yp.lession.redisqf211.controller")
                ).paths(PathSelectors.any())// 设置为那些请求路径生成接口文档, any所有的请求路径都要
                .build();
    }
}
